Draft BSpline/sv

Draft BSpline

Menyplacering
Draft → BSpline
Arbetsbänkar
Draft, Arch
Standard genväg
B S
Introducerad i version
-
Se även
Draft Wire

Description

The Draft BSpline command creates a B-spline curve from several points.

The Draft BSpline command specifies the exact points through which the curve will pass. The Draft BezCurve and the Draft CubicBezCurve commands, on the other hand, use control points to define the position and curvature of the spline.

Spline defined by multiple points

Usage

See also: Draft Tray, Draft Snap and Draft Constrain.

  1. There are several ways to invoke the command:
    • Press the B-spline button.
    • Draft: Select the Drafting → B-spline option from the menu.
    • BIM: Select the 2D Drafting → B-spline option from the menu.
    • Use the keyboard shortcut: B then S.
  2. The B-spline task panel opens. See Options for more information.
  3. Pick the first point in the 3D view, or type coordinates and press the Enter point button.
  4. Pick additional points in the 3D view, or type coordinates and press the Enter point button.
  5. Press Esc or the Close button to finish the command.

Options

The single character keyboard shortcuts available in the task panel can be changed. See Draft Preferences. The shortcuts mentioned here are the default shortcuts (for version 1.0).

Notes

Properties

See also: Property editor.

A Draft BSpline object is derived from a Part Part2DObject and inherits all its properties. It also has the following additional properties:

Data

Draft

View

Draft

Scripting

See also: Autogenerated API documentation and FreeCAD Scripting Basics.

To create a Draft BSpline use the make_bspline method (introduced in version 0.19) of the Draft module. This method replaces the deprecated makeBSpline method.

bspline = make_bspline(pointslist, closed=False, placement=None, face=None, support=None)
bspline = make_bspline(Part.Wire, closed=False, placement=None, face=None, support=None)

Example:

import FreeCAD as App
import Draft

doc = App.newDocument()

p1 = App.Vector(0, 0, 0)
p2 = App.Vector(1000, 1000, 0)
p3 = App.Vector(2000, 0, 0)

spline1 = Draft.make_bspline([p1, p2, p3], closed=False)
spline2 = Draft.make_bspline([p1, 2*p3, 1.3*p2], closed=False)
spline3 = Draft.make_bspline([1.3*p3, p1, -1.7*p2], closed=False)

doc.recompute()